<template>
    房号:<input type="text" v-model="Nname"/>
    创建时间:<input type="date" v-model="Ndate"/>
    <input type="button" value="查询" @click="Show"/>
    <input type="button" value="导出数据到Excel" @click="Export"/>
    <input type="button" value="导入数据到数据库" @click="ImportNumber"/>
    <table border="1">
        <thead>
            <tr>
                <td>房型名称</td>
                <td>房号</td>
                <td>备注</td>
                <td>状态</td>
                <td>创建时间</td>
                <td>操作</td>
            </tr>
        </thead>
        <tbody>
            <tr v-for="item in Info">
                <td>{{item.T_Name}}</td>
                <td>{{item.N_Name}}</td>
                <td>{{item.N_Remark}}</td>
                <td>{{item.N_State==true?"上架":"下架"}}</td>
                <td>{{item.N_CreateDate.substring(0,10)}}</td>
                <td>
                    <input type="button" value="修改状态" @click="UpdState(item.N_Id)"/>
                    <input type="button" value="修改" @click="UpdInfo(item.N_Id)"/>
                </td>
            </tr>
        </tbody>
    </table>
</template>

<script setup lang="ts">
import {ref,onMounted} from 'vue'
import axios from 'axios'
import {useRouter} from 'vue-router'

//创建路由的实例
const router=useRouter();

//生命周期钩子
onMounted(()=>{
    Show();
})

//响应式数据
const Info=ref([{
    N_Id:0,
    N_Name:"",
    N_Remark:"",
    N_State:true,
    N_CreateDate:"",
    T_Id:0,
    T_Name:""
}])

//查询参数
const Nname=ref("")
const Ndate=ref("")

//显示数据
const Show=()=>{
    axios.get("https://localhost:7205/api/RoomNumber/ShowRoomNumber",{
        params:{
            Nname:Nname.value,
            Ndate:Ndate.value
        }
    })
    .then(res=>{
        Info.value=res.data;
    })
    .catch(err=>{
        console.log(err);
    })
}

//修改状态
const UpdState=(Nid:number)=>{
    if(confirm("确定要修改吗?"))
    {
        axios.put("https://localhost:7205/api/RoomNumber/UpdState?Nid="+Nid)
        .then(res=>{
            if(res.data>0)
            {
                alert("修改成功");
                Show();
            }
            else{
                alert("修改失败");
            }
        })
    }
}

//修改
const UpdInfo=(Nid:number)=>{
    router.push({
        name:"UpdRoomNumber",
        params:{
            id:Nid
        }
    })
}

//导出
const Export=()=>{
    axios.post("https://localhost:7205/api/RoomNumber/ExprotNumber?Fpath="+"D:\\12.6月考.xlsx")
    .then(res=>{
        if(res.data>0)
        {
            alert("导出数据成功");
        }
        else{
            alert("导出数据失败");
        }
    })
    .catch(err=>{
        console.log(err);
    })
}

//导入
const ImportNumber=()=>{
    axios.post("https://localhost:7205/api/RoomNumber/ImportNumber?Fpath="+"D:\\12.6月考.xlsx")
    .then(res=>{
        if(res.data>0)
        {
            alert("导入数据成功");
        }
        else{
            alert("导入数据失败");
        }
    })
    .catch(err=>{
        console.log(err);
    })
}
</script>